package com.chinawayltd.ews.sample.service.common;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.chinawayltd.ews.sample.model.TLog;
import com.chinawayltd.ews.sample.model.TTemplateEvent;
import com.chinawayltd.ews.sample.model.common.CommonVO;
import com.chinawayltd.ews.sample.model.common.MaterielCommonVO;
import com.chinawayltd.ews.sample.web.query.LogGirdQuery;

/**
 * @program: g7ews4java-sample
 * @description:
 * @author: xiazj
 * @create: 2018-04-13 18:45
 **/
public interface CommonService {

    /**
     * 查询车辆数据
     * @param vehicleCode
     * @param vehicleId
     * @return
     */
    List<CommonVO> listVehicleData(String vehicleCode, Long vehicleId);

    /**
     * 查询驾驶员数据
     * @param driverName
     * @param driverId
     * @return
     */
    List<CommonVO> listDriverData(String driverName, Long driverId);

    /**
     * 查询班次数据
     * @param shiftName
     * @param shiftId
     * @return
     */
    List<CommonVO> listShiftData(String shiftName, Long shiftId);
    
    /**
     * 通过表名和数据id查询日记
     * @author: chenxin
     * @date: 2018年4月14日
     * @param dataId
     * @param tableName
     * @return
     */
	List<TLog> getLogDataById(LogGirdQuery queryParam);

	/**
	 * 添加操作日记
	 * @author: chenxin
	 * @date: 2018年4月14日
	 * @param dataId
	 * @param tableName
	 * @param i
	 * @return
	 */
	int addLog(Long dataId, String tableName, int i);

	/**
	 * 查询站点数据
	 * @author: chenxin
	 * @date: 2018年4月16日
	 * @param branchName
	 * @param branchId
	 * @return
	 */
	List<CommonVO> loadBranchData(String branchName, String branchFromType, Long branchId);
	/**
	 * 查询物料
	 * @author: chenxin
	 * @date: 2018年5月2日
	 * @param materielName
	 * @param materielId
	 * @return
	 */
	List<MaterielCommonVO> listMaterielData(String materielName, Long materielId);

	/**
	 * 查询异常事件类型
	 * @author: chenxin
	 * @date: 2018年5月7日 下午4:49:44
	 * @param eventName
	 * @param eventId
	 * @return
	 */
	List<TTemplateEvent> loadEventListData(String eventName, Long eventId);
	
	/**
	 * 根据车辆id查询异常类型
	 * @author: chenxin
	 * @date: 2018年5月30日 下午3:28:59
	 * @param vehicleId
	 * @param eventName
	 * @param eventId
	 * @return
	 * @throws Exception
	 */
	List<TTemplateEvent> loadEventListDataByVid(Long vehicleId, String eventName, Long eventId) throws Exception;
	
	
	/**
	 * 查询字典项
	 * @author: chenxin
	 * @date: 2018年5月14日 上午12:21:09
	 * @param infoName
	 * @param infoValue
	 * @return
	 */
	List<CommonVO> listDictData(@Param("typeCode")String typeCode, @Param("infoName")String infoName, @Param("infoValue")String infoValue);
}
